#ifndef CDCELECENERMETER_H
#define CDCELECENERMETER_H
#include <QObject>
#include <QSerialPort>
#include <QSerialPortInfo>
#include <QDateTime>
#include <QList>
#include <QDebug>
#include <QString>
#include <QChar>
#include <math.h>

class CDCElecEnerMeter : public QSerialPort
{
    Q_OBJECT
public:
    explicit CDCElecEnerMeter(QObject *parent = 0);
    explicit CDCElecEnerMeter(const QSerialPortInfo &serialPortInfo, QObject *parent = nullptr);
    explicit CDCElecEnerMeter(const QString &strPortName, QSerialPort::BaudRate baud,QObject *parent = 0);

    //对外接口
    float getCurrentEner() const;
    float getInitialEner() const;
    void setInitialEner(float initialEner);

signals:
     void signalGetReady(); //接受一次有效数据就发送一次信号
private:
    //字段
    float _currentEner; //当前电能
    float _initialEner; //初始电能

    void paraInit(); //初始化参数函数
    void dealRec(); //接受处理函数

public slots:
};

#endif // CDCELECENERMETER_H


#if 0 //测试直流电能表
    CDCElecEnerMeter *gps=new CDCElecEnerMeter(tr("COM21"),QSerialPort::Baud2400);
    gps->open(QIODevice::ReadWrite);
    if(gps->isOpen()==true)
    {
        qDebug()<<tr("open true");
        gps->write("hello");
    }


#endif
